The developments described in this section are known to the inventors. However, unless otherwise indicated, it should not be assumed that any of the developments described in this section qualify as prior art merely by virtue of their inclusion in this section, or that those developments are known to a person of ordinary skill in the art.
Many modern workplaces are increasingly encouraging employee collaboration. Such collaboration relies on effective communication among co-workers. Various tools are available to assist with collaboration efforts, such as collaboration platforms that facilitate instant messaging (IM) between users, either as a complement to email or as its replacement. Instant messaging applications are also used by groups of people to enable communication for social purposes.
In order to increase functionality of collaboration platforms can be integrated with other systems or services by the use of integrations (also referred to as plug-ins or add-ons). For example, some collaboration platforms let users to subscribe to various third party applications or create their own proprietary applications to add into their groups.
Integrations may operate to allow users to perform various actions directly from the collaboration platform—e.g. actions associated with the underlying applications services. One intention in providing such actions is, for example, to provide users with a convenient way of initiating/performing certain actions: i.e. instead of having to exit the chat client, launch the application in question, and perform the desired action, an integration may operate to provide a control for that action directly in the chat client. As the number of installed integrations grows, however, the number of controls becomes unwieldy: a user is faced not only with native controls of the chat client, but also with controls provided by all installed installations. This can make it very difficult for a user to know what controls have been made available by integrations and find those controls. In this case the convenience/efficiency intended to be gained by making such controls available directly in a chat client is lost, with it more efficient just to launch the external application than try and determine if a desired control is present in the chat client and, if so where.